280 HPLOT 63,4 TO 63,91 TO 77,68 TO 77,16 TO 63,4: HPLOT 77,16 TO 203,16 TO 217,4 TO 217,91: HPLOT 203,16 TO 203,68 TO 217,91: HPLOT 203,68 TO 77,68
290 IF RM < >5 THEN 340
300 HCOLOR= 0: HPLOT 108,68 TO 84,68: HCOLOR= 3: HPLOT 108,40 TO 108,68 TO 105,72 TO 105,52 TO 108,48 TO 87,48 TO 87,40 TO 108,40
310 HPLOT 87,48 TO 84,52 TO 105,52: HPLOT 84,52 TO 84,72 TO 105,72: HPLOT 87,60 TO 101,60 TO 101,64 TO 87,64 TO 87,60
320 HCOLOR= 0: HPLOT 143,68 TO 119,68: HCOLOR= 3: HPLOT 119,32 TO 140,32 TO 140,72 TO 119,72 TO 119,32: IF IC = 0 THEN HPLOT 122,44 TO 122,60: HPLOT 140,32 TO 143,32 TO 143,68 TO 140,72: GOTO 650
330 HPLOT 122,36 TO 136,36 TO 136,68 TO 122,68 TO 122,36: HCOLOR= 0: HPLOT 143,68 TO 154,68: HCOLOR= 3: HPLOT 140,32 TO 154,32 TO 154,76 TO 140,72: GOTO 650
340 IF RM < >8 THEN 400
350 HCOLOR= 0: HPLOT 84,68 TO 122,68: HCOLOR= 3: HPLOT 84,76 TO 84,56 TO 91,48 TO 91,56 TO 84,64 TO 119,64 TO 126,56 TO 91,56
360 HPLOT 84,72 TO 119,72 TO 126,64: HPLOT 119,64 TO 119,76: HPLOT 126,56 TO 126,68: HCOLOR= 0: HPLOT 133,68 TO 154,68: HCOLOR= 3
370 HPLOT 133,72 TO 133,56 TO 154,56 TO 154,64 TO 133,64: HPLOT 133,56 TO 136,52 TO 150,52 TO 154,56
380 HPLOT 136,52 TO 136,40 TO 150,40 TO 150,52: IF DR = 0 THEN HPLOT 133,72 TO 154,72 TO 154,64: GOTO 650
390 HCOLOR= 0: HPLOT 154,68 TO 156,68: HCOLOR= 3: HPLOT 133,64 TO 136,72 TO 157,72 TO 154,64 TO 154,72: HPLOT 133,72 TO 136,80 TO 136,72: HPLOT 136,80 TO 157,80 TO 157,72: GOTO 650
400 IF RM < >4 THEN 630
410 HPLOT 161,24 TO 182,24 TO 182,44 TO 161,44 TO 161,24: HPLOT 164,28 TO 178,28 TO 178,40 TO 164,40 TO 164,28
420 HPLOT 167,33 TO 169,33 TO 169,35 TO 167,35 TO 167,33
430 IF BE = 0 THEN 520
440 X = 90:Y = 49: HCOLOR= 0: HPLOT X +2,Y +19 TO X +17,Y +19: HPLOT X +20,Y +19 TO X +32,Y +19: HPLOT X +35,Y +19 TO X +47,Y +19: HPLOT X +55,Y +19 TO X +60,Y +19: HCOLOR= 3
450 HPLOT X,Y TO X +5,Y +5 TO X +15,Y +5 TO X +20,Y TO X +20,Y +12 TO X +17,Y +15 TO X +17,Y +20 TO X +2,Y +20 TO X +2,Y +15 TO X,Y +12 TO X,Y
460 HPLOT X +20,Y +5 TO X +30,Y TO X +50,Y TO X +60,Y +10 TO X +60,Y +20 TO X +45,Y +32 TO X +30,Y +32 TO X +25,Y +25 TO X +30,Y +30 TO X +45,Y +30 TO X +55,Y +20
470 HPLOT TO X +55,Y +17 TO X +47,Y +17 TO X +47,Y +20 TO X +40,Y +20 TO X +40,Y +17 TO X +45,Y +10
480 HPLOT X +40,Y +20 TO X +35,Y +20 TO X +35,Y +17 TO X +37,Y +15: HPLOT X +41,Y +15 TO X +32,Y +15 TO X +32,Y +20 TO X +25,Y +20 TO X +25,Y +17 TO X +30,Y +10
490 HPLOT X +25,Y +20 TO X +20,Y +20 TO X +20,Y +17 TO X +22,Y +15: HPLOT X +17,Y +15 TO X +26,Y +15: HPLOT X +2,Y +10 TO X +7,Y +10
500 HPLOT X +2,Y +10 TO X +7,Y +10: HPLOT X +12,Y +10 TO X +17,Y +10: HPLOT X +5,Y +17 TO X +7,Y +15 TO X +12,Y +15 TO X +15,Y +17
510 GOTO 650
520 X = 86:Y = 34: HCOLOR= 0: HPLOT X +47,Y +34 TO X +50,Y +34: HPLOT X +15,Y +34: HPLOT X +20,Y +34: HPLOT X +27,Y +34: HPLOT X +35,Y +34: HPLOT X +37,Y +34: HPLOT X +40,Y +34: HCOLOR= 3
530 HPLOT X,Y +10 TO X +5,Y +15 TO X +15,Y +15 TO X +20,Y +10 TO X +20,Y +22 TO X +17,Y +25 TO X +17,Y +30 TO X +2,Y +30 TO X +2,Y +25 TO X,Y +22 TO X,Y +10
540 HPLOT X +20,Y +15 TO X +27,Y +10 TO X +40,Y +10 TO X +50,Y +15 TO X +55,Y +25 TO X +65,Y +25 TO X +70,Y +20 TO X +70,Y +10 TO X +65,Y +5 TO X +60,Y +5
550 HPLOT TO X +55,Y +10 TO X +57,Y +2 TO X +67,Y +2 TO X +72,Y +10 TO X +72,Y +20 TO X +65,Y +27 TO X +50,Y +27 TO X +50,Y +35 TO X +47,Y +35 TO X +45,Y +32
560 HPLOT TO X +40,Y +35 TO X +40,Y +33 TO X +45,Y +30 TO X +40,Y +25 TO X +32,Y +25 TO X +32,Y +30 TO X +35,Y +35 TO X +30,Y +32 TO X +27,Y +35 TO X +25,Y +32 TO X +20,Y +35 TO X +25,Y +30
570 HPLOT TO X +30,Y +30 TO X +30,Y +25 TO X +17,Y +25: HPLOT X +22,Y +25 TO X +22,Y +30 TO X +20,Y +30 TO X +15,Y +35 TO X +20,Y +32 TO X +22,Y +32
580 HPLOT X +37,Y +25 TO X +42,Y +30 TO X +37,Y +32 TO X +37,Y +35 TO X +40,Y +35
590 HPLOT X +3,Y +17 TO X +7,Y +17 TO X +7,Y +19 TO X +5,Y +19 TO X +5,Y +17: HPLOT X +17,Y +17 TO X +13,Y +17 TO X +13,Y +19 TO X +15,Y +19 TO X +15,Y +17
600 HPLOT X +7,Y +25 TO X +5,Y +27 TO X +5,Y +25 TO X +7,Y +22 TO X +12,Y +22 TO X +15,Y +25 TO X +15,Y +27 TO X +12,Y +25: HPLOT X +8,Y +22 TO X +8,Y +27
610 HPLOT X +12,Y +22 TO X +12,Y +27: HPLOT X +9,Y +25 TO X +11,Y +25: HPLOT X +25,Y +30 TO X +25,Y +25
620 GOTO 650
630 IF RM < >9 THEN 650
640 HPLOT 112,80 TO 112,64 TO 119,56 TO 147,56 TO 147,72: HPLOT 147,56 TO 140,64 TO 140,80: HPLOT 140,64 TO 112,64: HPLOT 119,64 TO 119,72: GOTO 650
650 IF NO(RM) = 0 THEN 870
660 FOR XX = 1 TO NO(RM):N$ = O$(RM,XX)
670 IF N$ < >"CANE" THEN 690
680 HPLOT 73,87 TO 73,85 TO 94,85 TO 97,83 TO 94,82 TO 90,82 TO 90,80 TO 100,82 TO 100,85 TO 94,87 TO 73,87: GOTO 860
690 IF N$ < >"RUG" THEN 710
700 HPLOT 125,82 TO 153,82 TO 147,87 TO 119,87 TO 125,82: GOTO 860
710 IF N$ < >"CHAIR" THEN 730
720 HPLOT 161,76 TO 161,64 TO 171,64 TO 171,52 TO 182,56 TO 182,68 TO 171,64: HPLOT 161,64 TO 171,68 TO 171,80: HPLOT 182,68 TO 182,80: GOTO 860
730 IF N$ < >"BOOK" THEN 790
740 IF RM = 5 THEN X = 189:Y = 76: GOTO 780
750 IF RM = 8 AND BP = 0 THEN X = 136:Y = 64: GOTO 780
760 IF RM = 4 OR RM = 8 THEN X = 103:Y = 79: GOTO 780
770 X = 91:Y = 70
780 HPLOT X,Y TO X +7,Y TO X +14,Y +4 TO X +7,Y +4 TO X +7,Y +8 TO X,Y +4 TO X,Y: HPLOT X +7,Y +8 TO X +14,Y +8 TO X +14,Y +4: HPLOT X,Y TO X +7,Y +4: GOTO 860
790 IF N$ < >"FLUTE" THEN 820
800 HPLOT 154,83 TO 182,83 TO 182,87 TO 154,87 TO 154,83: HPLOT 156,83 TO 156,85 TO 159,85 TO 159,83: HPLOT 161,83 TO 161,87
810 FOR X = 164 TO 179 STEP 3: HPLOT X,85: NEXT : GOTO 860
820 IF N$ < >"KETTLE" THEN 860
830 X = 189:Y = 71: IF RM = 5 THEN X = 90:Y = 35: HCOLOR= 0: HPLOT X,Y +13 TO X +14,Y +13: HPLOT X +3,Y +5 TO X +10,Y +5: HCOLOR= 3
840 HPLOT X +3,Y +4 TO X,Y TO X +14,Y TO X +10,Y +4 TO X +3,Y +4 TO X,Y +8 TO X +14,Y +8 TO X +10,Y +4
850 HPLOT X,Y +8 TO X,Y +16 TO X +14,Y +16 TO X +14,Y +8: GOTO 860
1040 IF RIGHT$(C$,1) = " " THEN C$ = LEFT$(C$, LEN(C$) -1): GOTO 1040
1050 IF C$ = "N" OR C$ = "E" OR C$ = "S" OR C$ = "W" THEN C$ = "GO " +C$
1060 IF C$ = "DESCEND FROM CHAIR" THEN C$ = "GO DOWN"
1070 FOR X = 1 TO NV: FOR YY = 1 TO NS(X): IF VB$(X,YY) = LEFT$(C$, LEN(VB$(X,YY))) THEN Y = YY:YY = NS(X): NEXT :V = X:X = NV: NEXT : GOTO 1100
1080 NEXT : NEXT
1090 PRINT "HUH?": GOTO 1030
1100 N$ = MID$ (C$, LEN(VB$(V,Y)) +1)
1110 ON RM GOTO 1120,1120,1120,1130,1320,1120,1120,1620,1120
1120 ON V GOTO 1980,1880,2100,2670,2180,2290,2330,2380,2380,2650,1090,2400,2420,2180,2670,2710,2480,2530,2600,2690
1130 IF V < >10 THEN 1170
1140 IF N$ < >"FLUTE" THEN 1090
1150 GOSUB 100: IF BE THEN PRINT "THE BEAST SNORES EVEN MORE LOUDLY.": GOTO 1030
1160 PRINT "YOU HAVE SOOTHED THE SAVAGE BEAST! HE": PRINT "IS NOW SLEEPING PEACEFULLY.":BE = 1: GOTO 270
1170 IF BE = 0 AND (N$ = "SAFE" OR N$ = "LOCK" OR N$ = "BEAST" OR V = 11) AND (V < = 2 OR V = 4 OR V = 5 OR V = 11 OR V = 14 OR V = 16) THEN PRINT "THE BEAST HAS EATEN YOU!": GOTO 2630
1180 IF N$ < >"BEAST" THEN 1230
1190 IF BE = 0 THEN 1090
1200 IF V = 5 THEN PRINT "IT'S SLEEPING.": GOTO 1030
1210 IF V = 16 THEN 260
1220 GOTO 1090
1230 IF CH = 0 AND (N$ = "SAFE" OR N$ = "LOCK" OR V = 11) THEN PRINT "IT'S TOO HIGH TO REACH!": GOTO 1030
1240 IF CH AND (V = 5 OR V = 4) AND (N$ = "SAFE" OR N$ = "LOCK") THEN PRINT "IT'S A COMBINATION LOCK! IT REQUIRES": PRINT "ONE TWO-DIGIT NUMBER FROM 01-99.": GOTO 1030
1250 IF V < >11 THEN 1120
1260 IF VAL(N$) < = 0 THEN 1090
1270 IF VAL(N$) < >CO THEN PRINT "WRONG COMBINATION!": GOTO 1030
1280 HCOLOR= 0: HPLOT 182,28 TO 182,40: HCOLOR= 3: HPLOT 178,28 TO 189,26 TO 189,42 TO 178,40: HCOLOR= 1: FOR X = 165 TO 177: HPLOT X,29 TO X,39: NEXT X
1290 PRINT CP$;CI$;"THE SAFE OPENS AND INSIDE IS THE": PRINT "RICHE FORTUNE! YOU WIN!!";CN$;: VTAB 23: HTAB 1: FOR X = 1 TO 5: PRINT CHR$(7);: NEXT X
1300 INPUT "DO YOU WANT TO PLAY AGAIN?(Y/N) ";Y$: IF Y$ = "Y" THEN RUN
1310 GOTO 2620
1320 IF N$ < >"ICEBOX" THEN 1420
1330 IF V < >4 THEN 1360
1340 IF IC THEN PRINT "IT'S ALREADY OPEN.": GOTO 1030
1350 IC = 1: GOTO 270
1360 IF V < >15 THEN 1390
1370 IF IC = 0 THEN PRINT "IT'S ALREADY CLOSED.": GOTO 1030
1380 IC = 0: GOTO 270
1390 IF V < >5 THEN 1440
1400 IF IC = 0 THEN PRINT "IT'S CLOSED.": GOTO 1030
1410 PRINT "INSIDE IS A PASSAGE!": GOTO 1030
1420 IF N$ < >"PASSAGE" THEN 1510
1430 IF V = 5 THEN PRINT "IT'S DARK.": GOTO 1030
1440 IF V = 1 THEN 1470
1450 IF N$ = "PASSAGE" THEN 1090
1460 GOTO 1120
1470 IF IC = 0 THEN PRINT "IT'S CLOSED.": GOTO 1030
1480 IF RU = 0 THEN PRINT "IT'S TOO COLD TO WALK IN THERE!": GOTO 1030
1490 RM = 4: IF BE THEN PRINT "A SAVAGE BEAST SLEEPS QUIETLY.": GOSUB 250: GOTO 270
1500 PRINT "A SAVAGE BEAST GUARDS THE SAFE!": GOSUB 250: GOTO 270
1510 IF N$ < >"STOVE" THEN 1120
1520 IF V < >5 THEN 1550
1530 IF ST THEN PRINT "IT'S ON.": GOTO 1030
1540 PRINT "IT'S OFF.": GOTO 1030
1550 IF V < >8 THEN 1590
1560 IF ST THEN PRINT "IT'S ALREADY ON.": GOTO 1030
1570 ST = 1:N$ = "KETTLE": GOSUB 170: IF F AND SO = 0 THEN SO = 1: PRINT "THE KETTLE IS NOW COOKING.": GOTO 1030
1580 GOTO 260
1590 IF V < >9 THEN 1120
1600 IF ST = 0 THEN PRINT "IT'S ALREADY OFF.": GOTO 1030
1610 ST = 0: GOTO 260
1620 IF N$ < >"DRESSER" AND N$ < >"DRAWER" THEN 1800
1630 IF V < >4 THEN 1690
1640 IF DR THEN PRINT "IT'S ALREADY OPEN.": GOTO 1030
1650 N$ = "CANE": GOSUB 120: IF F = 0 THEN 1680
1660 PRINT "IT COMES OPEN! THE CANE DID THE TRICK!";:DR = 1: IF DO = 0 THEN NO(RM) = NO(RM) +1:O$(RM,NO(RM)) = "BOOK"
1670 GOTO 270
1680 PRINT "IT'S STUCK!": GOTO 1030
1690 IF V < >5 THEN 1730
1700 IF DR = 0 THEN PRINT "IT'S CLOSED.": GOTO 1030
1710 N$ = "BOOK": GOSUB 170: IF F AND BP = 0 THEN PRINT "INSIDE IS A BOOK!": GOTO 1030
1720 PRINT "IT'S OPEN.": GOTO 1030
1730 IF V < >15 THEN 1120
1740 IF BP THEN DO = 1: GOTO 1790
1750 IF DR = 0 THEN PRINT "IT'S ALREADY CLOSED.": GOTO 1030
1760 N$ = "BOOK": GOSUB 170: IF F = 0 THEN DO = 1: GOTO 1790
1770 IF F <NO(RM) THEN FOR X = F TO NO(RM) -1:O$(RM,X) = O$(RM,X +1): NEXT X
1780 NO(RM) = NO(RM) -1:DO = 0
1790 DR = 0: GOTO 270
1800 IF N$ < >"BED" AND N$ < >"SHEET" THEN 1120
1810 IF V = 5 THEN PRINT "THERE'S SOMETHING WRITTEN ON THE": PRINT "SHEET!": GOTO 1030
1820 IF V = 13 THEN PRINT "IT SAYS:": PRINT QT$;"LEFT-HAND DIGIT="; INT(CO/10);QT$;".": GOTO 1030
1830 IF N$ < >"SHEET" THEN 1870
1840 IF V = 2 THEN PRINT "IT'S TOO SECURELY FASTENED.": GOTO 1030
1850 IF V = 16 THEN 260
1860 GOTO 1090
1870 GOTO 1120
1880 IF N$ < >"SOUP" THEN 1930
1890 N$ = "KETTLE": GOSUB 170: IF F THEN 1910
1900 GOSUB 120: IF F = 0 THEN 1920
1910 PRINT "YOU CAN'T GET IT OUT OF THE KETTLE": PRINT "WITH YOUR HANDS.": GOTO 1030
2820 FOR X = 1 TO 9: READ N$(X),NO(X): IF NO(X) >0 THEN FOR Y = 1 TO NO(X): READ O$(X,Y): NEXT Y
2830 FOR Y = 1 TO 4: READ R(X,Y): NEXT Y: NEXT X: FOR X = 1 TO NV: READ NS(X): FOR Y = 1 TO NS(X): READ VB$(X,Y): IF X < >6 THEN VB$(X,Y) = VB$(X,Y) +" "
2840 NEXT Y: NEXT X:RM = 1:X = RND( - PEEK(78)):CO = INT(99 * RND(1)) +1
2850 VTAB 17: HTAB 9: PRINT "(H";CL$;"IT ANY KEY TO BEGIN)";CK$;CA$;"0";: WAIT -16384,128: POKE -16368,0
2860 PRINT CP$;: HPLOT 3,3 TO 276,3 TO 276,187 TO 3,187 TO 3,3: HPLOT 3,91 TO 276,91: HPLOT 3,139 TO 276,139
2870 VTAB 19: HTAB 1: GOSUB 250: GOTO 270
2880 HPLOT X +24,Y +12 TO X +18,Y +6 TO X +6,Y +6 TO X,Y +12 TO X,Y +18 TO X +6,Y +24 TO X +18,Y +24 TO X +24,Y +30
2890 HPLOT TO X +24,Y +36 TO X +18,Y +42 TO X +6,Y +42 TO X,Y +36: HPLOT X +12,Y TO X +12,Y +48: RETURN
2900 DATA "FOYER",1,"CANE",0,3,0,2
2910 DATA "WEST HALLWAY",0,0,1,0,6
2920 DATA "EAST HALLWAY",0,0,8,0,1
2930 DATA "VAULT",1,"SAFE",0,0,5,0
2940 DATA "KITCHEN",3,"KETTLE","STOVE","ICEBOX",0,0,6,0